﻿namespace Preactor.ObjectModel.Interfaces.MaterialControl
{
    using Preactor.ObjectModel.Attributes;
    using Preactor.ObjectModel.Entities;

    public interface IBillOfMaterial : IPreactorRecord
    {
        [PreactorField("BILL OF MATERIALS TABLE", FieldDeclarationType.FieldClassification)]
        int Number { get; set; }

        [PreactorField("Order No.", FieldDeclarationType.FieldClassification)]
        string OrderNumber { get; set; }

        [PreactorField("Op. No.", FieldDeclarationType.FieldClassification)]
        int OperationNumber { get; set; }

        [PreactorField("REQUIRED PART NO", FieldDeclarationType.FieldClassification)]
        string RequiredPartNumber { get; set; }

        [PreactorField("REQUIRED QUANTITY", FieldDeclarationType.FieldClassification)]
        double RequiredQuantity { get; set; }

        [PreactorField("QUANTITY PER UNIT", FieldDeclarationType.FieldClassification)]
        bool MultiplyByOrderQuantity { get; set; }

        [PreactorField("IGNORE SHORTAGE", FieldDeclarationType.FieldClassification)]
        bool IgnoreShortages { get; set; }

        [PreactorField("PEGGING MULTIPLE", FieldDeclarationType.FieldClassification)]
        int MultipleQuantity { get; set; }

        [PreactorField("Import Marker", FieldDeclarationType.FieldClassification)]
        int ImportMarker { get; set; }
    }
}